/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.taobao.ibatiside.model.mapperv2.impl;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EcorePackage;

import org.eclipse.emf.ecore.impl.EPackageImpl;

import org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage;

import org.eclipse.emf.ecore.xml.type.XMLTypePackage;

import org.taobao.ibatiside.model.common.CommonPackage;

import org.taobao.ibatiside.model.common.impl.CommonPackageImpl;

import org.taobao.ibatiside.model.mapperv2.CacheModel;
import org.taobao.ibatiside.model.mapperv2.Delete;
import org.taobao.ibatiside.model.mapperv2.Discriminator;
import org.taobao.ibatiside.model.mapperv2.DocumentRoot;
import org.taobao.ibatiside.model.mapperv2.EnumResultType;
import org.taobao.ibatiside.model.mapperv2.FlushInterval;
import org.taobao.ibatiside.model.mapperv2.FlushOnExecute;
import org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement;
import org.taobao.ibatiside.model.mapperv2.GeneralStatement;
import org.taobao.ibatiside.model.mapperv2.Include;
import org.taobao.ibatiside.model.mapperv2.Insert;
import org.taobao.ibatiside.model.mapperv2.IsEmpty;
import org.taobao.ibatiside.model.mapperv2.IsEqual;
import org.taobao.ibatiside.model.mapperv2.IsGreaterEqual;
import org.taobao.ibatiside.model.mapperv2.IsGreaterThan;
import org.taobao.ibatiside.model.mapperv2.IsLessEqual;
import org.taobao.ibatiside.model.mapperv2.IsLessThan;
import org.taobao.ibatiside.model.mapperv2.IsNotEmpty;
import org.taobao.ibatiside.model.mapperv2.IsNotEqual;
import org.taobao.ibatiside.model.mapperv2.IsNotNull;
import org.taobao.ibatiside.model.mapperv2.IsNotParameterPresent;
import org.taobao.ibatiside.model.mapperv2.IsNotPropertyAvailable;
import org.taobao.ibatiside.model.mapperv2.IsNull;
import org.taobao.ibatiside.model.mapperv2.IsParameterPresent;
import org.taobao.ibatiside.model.mapperv2.IsPropertyAvailable;
import org.taobao.ibatiside.model.mapperv2.Iterate;
import org.taobao.ibatiside.model.mapperv2.Mapperv2Factory;
import org.taobao.ibatiside.model.mapperv2.Mapperv2Package;
import org.taobao.ibatiside.model.mapperv2.ModeType;
import org.taobao.ibatiside.model.mapperv2.Parameter;
import org.taobao.ibatiside.model.mapperv2.ParameterMap;
import org.taobao.ibatiside.model.mapperv2.ParameterType;
import org.taobao.ibatiside.model.mapperv2.Procedure;
import org.taobao.ibatiside.model.mapperv2.Property;
import org.taobao.ibatiside.model.mapperv2.Result;
import org.taobao.ibatiside.model.mapperv2.ResultMap;
import org.taobao.ibatiside.model.mapperv2.Select;
import org.taobao.ibatiside.model.mapperv2.SelectKey;
import org.taobao.ibatiside.model.mapperv2.Sql;
import org.taobao.ibatiside.model.mapperv2.SqlMap;
import org.taobao.ibatiside.model.mapperv2.Statement;
import org.taobao.ibatiside.model.mapperv2.SubMap;
import org.taobao.ibatiside.model.mapperv2.TypeAlias;
import org.taobao.ibatiside.model.mapperv2.TypeType;
import org.taobao.ibatiside.model.mapperv2.Update;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class Mapperv2PackageImpl extends EPackageImpl implements Mapperv2Package {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass cacheModelEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass deleteEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass discriminatorEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass documentRootEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass dynamicEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass flushIntervalEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass flushOnExecuteEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass generalNestedStatementEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass generalStatementEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass includeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass insertEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isEmptyEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isEqualEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isGreaterEqualEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isGreaterThanEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isLessEqualEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isLessThanEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isNotEmptyEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isNotEqualEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isNotNullEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isNotParameterPresentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isNotPropertyAvailableEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isNullEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isParameterPresentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass isPropertyAvailableEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass iterateEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass parameterEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass parameterMapEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass procedureEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass propertyEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass resultEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass resultMapEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass selectEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass selectKeyEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass sqlEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass sqlMapEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass statementEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass subMapEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass typeAliasEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass updateEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum enumResultTypeEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum modeTypeEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum typeTypeEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EDataType enumResultTypeObjectEDataType = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EDataType modeTypeObjectEDataType = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EDataType typeTypeObjectEDataType = null;

	/**
	 * Creates an instance of the model <b>Package</b>, registered with
	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
	 * package URI value.
	 * <p>Note: the correct way to create the package is via the static
	 * factory method {@link #init init()}, which also performs
	 * initialization of the package, or returns the registered package,
	 * if one already exists.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see org.eclipse.emf.ecore.EPackage.Registry
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#eNS_URI
	 * @see #init()
	 * @generated
	 */
	private Mapperv2PackageImpl() {
		super(eNS_URI, Mapperv2Factory.eINSTANCE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static boolean isInited = false;

	/**
	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
	 * 
	 * <p>This method is used to initialize {@link Mapperv2Package#eINSTANCE} when that field is accessed.
	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #eNS_URI
	 * @see #createPackageContents()
	 * @see #initializePackageContents()
	 * @generated
	 */
	public static Mapperv2Package init() {
		if (isInited) return (Mapperv2Package)EPackage.Registry.INSTANCE.getEPackage(Mapperv2Package.eNS_URI);

		// Obtain or create and register package
		Mapperv2PackageImpl theMapperv2Package = (Mapperv2PackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof Mapperv2PackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new Mapperv2PackageImpl());

		isInited = true;

		// Initialize simple dependencies
		EcorePackage.eINSTANCE.eClass();
		XMLNamespacePackage.eINSTANCE.eClass();
		XMLTypePackage.eINSTANCE.eClass();

		// Obtain or create and register interdependencies
		CommonPackageImpl theCommonPackage = (CommonPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI) instanceof CommonPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI) : CommonPackage.eINSTANCE);

		// Create package meta-data objects
		theMapperv2Package.createPackageContents();
		theCommonPackage.createPackageContents();

		// Initialize created meta-data
		theMapperv2Package.initializePackageContents();
		theCommonPackage.initializePackageContents();

		// Mark meta-data to indicate it can't be changed
		theMapperv2Package.freeze();

  
		// Update the registry and return the package
		EPackage.Registry.INSTANCE.put(Mapperv2Package.eNS_URI, theMapperv2Package);
		return theMapperv2Package;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getCacheModel() {
		return cacheModelEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getCacheModel_Group() {
		return (EAttribute)cacheModelEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCacheModel_FlushInterval() {
		return (EReference)cacheModelEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCacheModel_FlushOnExecute() {
		return (EReference)cacheModelEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCacheModel_Property() {
		return (EReference)cacheModelEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getCacheModel_Id() {
		return (EAttribute)cacheModelEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getCacheModel_ReadOnly() {
		return (EAttribute)cacheModelEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getCacheModel_Serialize() {
		return (EAttribute)cacheModelEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getCacheModel_Type() {
		return (EAttribute)cacheModelEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getDelete() {
		return deleteEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getDiscriminator() {
		return discriminatorEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDiscriminator_SubMap() {
		return (EReference)discriminatorEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDiscriminator_Column() {
		return (EAttribute)discriminatorEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDiscriminator_ColumnIndex() {
		return (EAttribute)discriminatorEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDiscriminator_JavaType() {
		return (EAttribute)discriminatorEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDiscriminator_JdbcType() {
		return (EAttribute)discriminatorEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDiscriminator_NullValue() {
		return (EAttribute)discriminatorEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDiscriminator_TypeHandler() {
		return (EAttribute)discriminatorEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getDocumentRoot() {
		return documentRootEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_Mixed() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_XMLNSPrefixMap() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_XSISchemaLocation() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_CacheModel() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Delete() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Discriminator() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Dynamic() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_FlushInterval() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_FlushOnExecute() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Include() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Insert() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsEmpty() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsEqual() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsGreaterEqual() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsGreaterThan() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsLessEqual() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsLessThan() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsNotEmpty() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(17);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsNotEqual() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(18);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsNotNull() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(19);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsNotParameterPresent() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(20);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsNotPropertyAvailable() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(21);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsNull() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(22);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsParameterPresent() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(23);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_IsPropertyAvailable() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(24);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Iterate() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(25);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Parameter() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(26);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_ParameterMap() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(27);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Procedure() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(28);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Property() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(29);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Result() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(30);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_ResultMap() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(31);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Select() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(32);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_SelectKey() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(33);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Sql() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(34);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_SqlMap() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(35);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Statement() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(36);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_SubMap() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(37);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_TypeAlias() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(38);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Update() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(39);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getDynamic() {
		return dynamicEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDynamic_Close() {
		return (EAttribute)dynamicEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDynamic_Open() {
		return (EAttribute)dynamicEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDynamic_Prepend() {
		return (EAttribute)dynamicEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getFlushInterval() {
		return flushIntervalEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getFlushInterval_Hours() {
		return (EAttribute)flushIntervalEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getFlushInterval_Milliseconds() {
		return (EAttribute)flushIntervalEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getFlushInterval_Minutes() {
		return (EAttribute)flushIntervalEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getFlushInterval_Seconds() {
		return (EAttribute)flushIntervalEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getFlushOnExecute() {
		return flushOnExecuteEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFlushOnExecute_Statement() {
		return (EReference)flushOnExecuteEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGeneralNestedStatement() {
		return generalNestedStatementEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGeneralNestedStatement_Mixed() {
		return (EAttribute)generalNestedStatementEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGeneralNestedStatement_TgNestedCondition() {
		return (EAttribute)generalNestedStatementEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_Include() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_Iterate() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsParameterPresent() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsNotParameterPresent() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsEmpty() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsNotEmpty() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsNotNull() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsNull() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsNotEqual() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsEqual() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsGreaterThan() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsGreaterEqual() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsLessThan() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsLessEqual() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsPropertyAvailable() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralNestedStatement_IsNotPropertyAvailable() {
		return (EReference)generalNestedStatementEClass.getEStructuralFeatures().get(17);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGeneralStatement() {
		return generalStatementEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGeneralStatement_Group() {
		return (EAttribute)generalStatementEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralStatement_Dynamic() {
		return (EReference)generalStatementEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGeneralStatement_Id() {
		return (EAttribute)generalStatementEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGeneralStatement_ParameterClass() {
		return (EAttribute)generalStatementEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getGeneralStatement_ParameterMap() {
		return (EReference)generalStatementEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGeneralStatement_Timeout() {
		return (EAttribute)generalStatementEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getInclude() {
		return includeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getInclude_Refid() {
		return (EReference)includeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getInsert() {
		return insertEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getInsert_Group1() {
		return (EAttribute)insertEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getInsert_Selectkey() {
		return (EReference)insertEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsEmpty() {
		return isEmptyEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEmpty_Close() {
		return (EAttribute)isEmptyEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEmpty_Open() {
		return (EAttribute)isEmptyEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEmpty_Prepend() {
		return (EAttribute)isEmptyEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEmpty_Property() {
		return (EAttribute)isEmptyEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEmpty_RemoveFirstPrepend() {
		return (EAttribute)isEmptyEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsEqual() {
		return isEqualEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEqual_Close() {
		return (EAttribute)isEqualEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEqual_CompareProperty() {
		return (EAttribute)isEqualEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEqual_CompareValue() {
		return (EAttribute)isEqualEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEqual_Open() {
		return (EAttribute)isEqualEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEqual_Prepend() {
		return (EAttribute)isEqualEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEqual_Property() {
		return (EAttribute)isEqualEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsEqual_RemoveFirstPrepend() {
		return (EAttribute)isEqualEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsGreaterEqual() {
		return isGreaterEqualEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterEqual_Close() {
		return (EAttribute)isGreaterEqualEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterEqual_CompareProperty() {
		return (EAttribute)isGreaterEqualEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterEqual_CompareValue() {
		return (EAttribute)isGreaterEqualEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterEqual_Open() {
		return (EAttribute)isGreaterEqualEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterEqual_Prepend() {
		return (EAttribute)isGreaterEqualEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterEqual_Property() {
		return (EAttribute)isGreaterEqualEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterEqual_RemoveFirstPrepend() {
		return (EAttribute)isGreaterEqualEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsGreaterThan() {
		return isGreaterThanEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterThan_Close() {
		return (EAttribute)isGreaterThanEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterThan_CompareProperty() {
		return (EAttribute)isGreaterThanEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterThan_CompareValue() {
		return (EAttribute)isGreaterThanEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterThan_Open() {
		return (EAttribute)isGreaterThanEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterThan_Prepend() {
		return (EAttribute)isGreaterThanEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterThan_Property() {
		return (EAttribute)isGreaterThanEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsGreaterThan_RemoveFirstPrepend() {
		return (EAttribute)isGreaterThanEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsLessEqual() {
		return isLessEqualEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessEqual_Close() {
		return (EAttribute)isLessEqualEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessEqual_CompareProperty() {
		return (EAttribute)isLessEqualEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessEqual_CompareValue() {
		return (EAttribute)isLessEqualEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessEqual_Open() {
		return (EAttribute)isLessEqualEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessEqual_Prepend() {
		return (EAttribute)isLessEqualEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessEqual_Property() {
		return (EAttribute)isLessEqualEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessEqual_RemoveFirstPrepend() {
		return (EAttribute)isLessEqualEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsLessThan() {
		return isLessThanEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessThan_Close() {
		return (EAttribute)isLessThanEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessThan_CompareProperty() {
		return (EAttribute)isLessThanEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessThan_CompareValue() {
		return (EAttribute)isLessThanEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessThan_Open() {
		return (EAttribute)isLessThanEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessThan_Prepend() {
		return (EAttribute)isLessThanEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessThan_Property() {
		return (EAttribute)isLessThanEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsLessThan_RemoveFirstPrepend() {
		return (EAttribute)isLessThanEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsNotEmpty() {
		return isNotEmptyEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEmpty_Close() {
		return (EAttribute)isNotEmptyEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEmpty_Open() {
		return (EAttribute)isNotEmptyEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEmpty_Prepend() {
		return (EAttribute)isNotEmptyEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEmpty_Property() {
		return (EAttribute)isNotEmptyEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEmpty_RemoveFirstPrepend() {
		return (EAttribute)isNotEmptyEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsNotEqual() {
		return isNotEqualEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEqual_Close() {
		return (EAttribute)isNotEqualEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEqual_CompareProperty() {
		return (EAttribute)isNotEqualEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEqual_CompareValue() {
		return (EAttribute)isNotEqualEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEqual_Open() {
		return (EAttribute)isNotEqualEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEqual_Prepend() {
		return (EAttribute)isNotEqualEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEqual_Property() {
		return (EAttribute)isNotEqualEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotEqual_RemoveFirstPrepend() {
		return (EAttribute)isNotEqualEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsNotNull() {
		return isNotNullEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotNull_Close() {
		return (EAttribute)isNotNullEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotNull_Open() {
		return (EAttribute)isNotNullEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotNull_Prepend() {
		return (EAttribute)isNotNullEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotNull_Property() {
		return (EAttribute)isNotNullEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotNull_RemoveFirstPrepend() {
		return (EAttribute)isNotNullEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsNotParameterPresent() {
		return isNotParameterPresentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotParameterPresent_Close() {
		return (EAttribute)isNotParameterPresentEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotParameterPresent_Open() {
		return (EAttribute)isNotParameterPresentEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotParameterPresent_Prepend() {
		return (EAttribute)isNotParameterPresentEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotParameterPresent_RemoveFirstPrepend() {
		return (EAttribute)isNotParameterPresentEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsNotPropertyAvailable() {
		return isNotPropertyAvailableEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotPropertyAvailable_Close() {
		return (EAttribute)isNotPropertyAvailableEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotPropertyAvailable_Open() {
		return (EAttribute)isNotPropertyAvailableEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotPropertyAvailable_Prepend() {
		return (EAttribute)isNotPropertyAvailableEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotPropertyAvailable_Property() {
		return (EAttribute)isNotPropertyAvailableEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNotPropertyAvailable_RemoveFirstPrepend() {
		return (EAttribute)isNotPropertyAvailableEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsNull() {
		return isNullEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNull_Close() {
		return (EAttribute)isNullEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNull_Open() {
		return (EAttribute)isNullEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNull_Prepend() {
		return (EAttribute)isNullEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNull_Property() {
		return (EAttribute)isNullEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsNull_RemoveFirstPrepend() {
		return (EAttribute)isNullEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsParameterPresent() {
		return isParameterPresentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsParameterPresent_Close() {
		return (EAttribute)isParameterPresentEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsParameterPresent_Open() {
		return (EAttribute)isParameterPresentEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsParameterPresent_Prepend() {
		return (EAttribute)isParameterPresentEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsParameterPresent_RemoveFirstPrepend() {
		return (EAttribute)isParameterPresentEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIsPropertyAvailable() {
		return isPropertyAvailableEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsPropertyAvailable_Close() {
		return (EAttribute)isPropertyAvailableEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsPropertyAvailable_Open() {
		return (EAttribute)isPropertyAvailableEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsPropertyAvailable_Prepend() {
		return (EAttribute)isPropertyAvailableEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsPropertyAvailable_Property() {
		return (EAttribute)isPropertyAvailableEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIsPropertyAvailable_RemoveFirstPrepend() {
		return (EAttribute)isPropertyAvailableEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIterate() {
		return iterateEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIterate_Close() {
		return (EAttribute)iterateEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIterate_Conjunction() {
		return (EAttribute)iterateEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIterate_Open() {
		return (EAttribute)iterateEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIterate_Prepend() {
		return (EAttribute)iterateEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIterate_Property() {
		return (EAttribute)iterateEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getIterate_RemoveFirstPrepend() {
		return (EAttribute)iterateEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getParameter() {
		return parameterEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getParameter_JavaType() {
		return (EAttribute)parameterEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getParameter_JdbcType() {
		return (EAttribute)parameterEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getParameter_Mode() {
		return (EAttribute)parameterEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getParameter_NullValue() {
		return (EAttribute)parameterEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getParameter_NumericScale() {
		return (EAttribute)parameterEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getParameter_Property() {
		return (EAttribute)parameterEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getParameter_ResultMap() {
		return (EReference)parameterEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getParameter_TypeHandler() {
		return (EAttribute)parameterEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getParameter_TypeName() {
		return (EAttribute)parameterEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getParameterMap() {
		return parameterMapEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getParameterMap_Parameter() {
		return (EReference)parameterMapEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getParameterMap_Class() {
		return (EAttribute)parameterMapEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getParameterMap_Id() {
		return (EAttribute)parameterMapEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getProcedure() {
		return procedureEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getProcedure_CacheModel() {
		return (EReference)procedureEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getProcedure_FetchSize() {
		return (EAttribute)procedureEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getProcedure_RemapResults() {
		return (EAttribute)procedureEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getProcedure_ResultClass() {
		return (EAttribute)procedureEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getProcedure_ResultMap() {
		return (EReference)procedureEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getProcedure_XmlResultName() {
		return (EAttribute)procedureEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getProperty() {
		return propertyEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getProperty_Name() {
		return (EAttribute)propertyEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getProperty_Value() {
		return (EAttribute)propertyEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getResult() {
		return resultEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResult_Column() {
		return (EAttribute)resultEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResult_ColumnIndex() {
		return (EAttribute)resultEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResult_JavaType() {
		return (EAttribute)resultEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResult_JdbcType() {
		return (EAttribute)resultEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResult_NotNullColumn() {
		return (EAttribute)resultEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResult_NullValue() {
		return (EAttribute)resultEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResult_Property() {
		return (EAttribute)resultEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getResult_ResultMap() {
		return (EReference)resultEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getResult_Select() {
		return (EReference)resultEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResult_TypeHandler() {
		return (EAttribute)resultEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getResultMap() {
		return resultMapEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getResultMap_Result() {
		return (EReference)resultMapEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getResultMap_Discriminator() {
		return (EReference)resultMapEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResultMap_Class() {
		return (EAttribute)resultMapEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getResultMap_Extends() {
		return (EReference)resultMapEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResultMap_GroupBy() {
		return (EAttribute)resultMapEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResultMap_Id() {
		return (EAttribute)resultMapEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getResultMap_XmlName() {
		return (EAttribute)resultMapEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getSelect() {
		return selectEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSelect_CacheModel() {
		return (EReference)selectEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSelect_FetchSize() {
		return (EAttribute)selectEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSelect_RemapResults() {
		return (EAttribute)selectEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSelect_ResultClass() {
		return (EAttribute)selectEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSelect_ResultMap() {
		return (EReference)selectEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSelect_ResultSetType() {
		return (EAttribute)selectEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSelect_XmlResultName() {
		return (EAttribute)selectEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getSelectKey() {
		return selectKeyEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSelectKey_Mixed() {
		return (EAttribute)selectKeyEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSelectKey_Group() {
		return (EAttribute)selectKeyEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSelectKey_Include() {
		return (EReference)selectKeyEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSelectKey_KeyProperty() {
		return (EAttribute)selectKeyEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSelectKey_ResultClass() {
		return (EAttribute)selectKeyEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSelectKey_Type() {
		return (EAttribute)selectKeyEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getSql() {
		return sqlEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSql_Group() {
		return (EAttribute)sqlEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSql_Dynamic() {
		return (EReference)sqlEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSql_Id() {
		return (EAttribute)sqlEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getSqlMap() {
		return sqlMapEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSqlMap_Group() {
		return (EAttribute)sqlMapEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_TypeAlias() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_CacheModel() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_ResultMap() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_ParameterMap() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_Sql() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_Statement() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_Insert() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_Update() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_Delete() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_Select() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSqlMap_Procedure() {
		return (EReference)sqlMapEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSqlMap_Namespace() {
		return (EAttribute)sqlMapEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getStatement() {
		return statementEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getStatement_CacheModel() {
		return (EReference)statementEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getStatement_FetchSize() {
		return (EAttribute)statementEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getStatement_RemapResults() {
		return (EAttribute)statementEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getStatement_ResultClass() {
		return (EAttribute)statementEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getStatement_ResultMap() {
		return (EReference)statementEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getStatement_ResultSetType() {
		return (EAttribute)statementEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getStatement_XmlResultName() {
		return (EAttribute)statementEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getSubMap() {
		return subMapEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSubMap_ResultMap() {
		return (EReference)subMapEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getSubMap_Value() {
		return (EAttribute)subMapEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getTypeAlias() {
		return typeAliasEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getTypeAlias_Alias() {
		return (EAttribute)typeAliasEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getTypeAlias_Type() {
		return (EAttribute)typeAliasEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getUpdate() {
		return updateEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getEnumResultType() {
		return enumResultTypeEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getModeType() {
		return modeTypeEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getTypeType() {
		return typeTypeEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EDataType getEnumResultTypeObject() {
		return enumResultTypeObjectEDataType;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EDataType getModeTypeObject() {
		return modeTypeObjectEDataType;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EDataType getTypeTypeObject() {
		return typeTypeObjectEDataType;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Mapperv2Factory getMapperv2Factory() {
		return (Mapperv2Factory)getEFactoryInstance();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isCreated = false;

	/**
	 * Creates the meta-model objects for the package.  This method is
	 * guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void createPackageContents() {
		if (isCreated) return;
		isCreated = true;

		// Create classes and their features
		cacheModelEClass = createEClass(CACHE_MODEL);
		createEAttribute(cacheModelEClass, CACHE_MODEL__GROUP);
		createEReference(cacheModelEClass, CACHE_MODEL__FLUSH_INTERVAL);
		createEReference(cacheModelEClass, CACHE_MODEL__FLUSH_ON_EXECUTE);
		createEReference(cacheModelEClass, CACHE_MODEL__PROPERTY);
		createEAttribute(cacheModelEClass, CACHE_MODEL__ID);
		createEAttribute(cacheModelEClass, CACHE_MODEL__READ_ONLY);
		createEAttribute(cacheModelEClass, CACHE_MODEL__SERIALIZE);
		createEAttribute(cacheModelEClass, CACHE_MODEL__TYPE);

		deleteEClass = createEClass(DELETE);

		discriminatorEClass = createEClass(DISCRIMINATOR);
		createEReference(discriminatorEClass, DISCRIMINATOR__SUB_MAP);
		createEAttribute(discriminatorEClass, DISCRIMINATOR__COLUMN);
		createEAttribute(discriminatorEClass, DISCRIMINATOR__COLUMN_INDEX);
		createEAttribute(discriminatorEClass, DISCRIMINATOR__JAVA_TYPE);
		createEAttribute(discriminatorEClass, DISCRIMINATOR__JDBC_TYPE);
		createEAttribute(discriminatorEClass, DISCRIMINATOR__NULL_VALUE);
		createEAttribute(discriminatorEClass, DISCRIMINATOR__TYPE_HANDLER);

		documentRootEClass = createEClass(DOCUMENT_ROOT);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
		createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
		createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
		createEReference(documentRootEClass, DOCUMENT_ROOT__CACHE_MODEL);
		createEReference(documentRootEClass, DOCUMENT_ROOT__DELETE);
		createEReference(documentRootEClass, DOCUMENT_ROOT__DISCRIMINATOR);
		createEReference(documentRootEClass, DOCUMENT_ROOT__DYNAMIC);
		createEReference(documentRootEClass, DOCUMENT_ROOT__FLUSH_INTERVAL);
		createEReference(documentRootEClass, DOCUMENT_ROOT__FLUSH_ON_EXECUTE);
		createEReference(documentRootEClass, DOCUMENT_ROOT__INCLUDE);
		createEReference(documentRootEClass, DOCUMENT_ROOT__INSERT);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_EMPTY);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_EQUAL);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_GREATER_EQUAL);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_GREATER_THAN);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_LESS_EQUAL);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_LESS_THAN);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_NOT_EMPTY);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_NOT_EQUAL);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_NOT_NULL);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_NOT_PARAMETER_PRESENT);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_NOT_PROPERTY_AVAILABLE);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_NULL);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_PARAMETER_PRESENT);
		createEReference(documentRootEClass, DOCUMENT_ROOT__IS_PROPERTY_AVAILABLE);
		createEReference(documentRootEClass, DOCUMENT_ROOT__ITERATE);
		createEReference(documentRootEClass, DOCUMENT_ROOT__PARAMETER);
		createEReference(documentRootEClass, DOCUMENT_ROOT__PARAMETER_MAP);
		createEReference(documentRootEClass, DOCUMENT_ROOT__PROCEDURE);
		createEReference(documentRootEClass, DOCUMENT_ROOT__PROPERTY);
		createEReference(documentRootEClass, DOCUMENT_ROOT__RESULT);
		createEReference(documentRootEClass, DOCUMENT_ROOT__RESULT_MAP);
		createEReference(documentRootEClass, DOCUMENT_ROOT__SELECT);
		createEReference(documentRootEClass, DOCUMENT_ROOT__SELECT_KEY);
		createEReference(documentRootEClass, DOCUMENT_ROOT__SQL);
		createEReference(documentRootEClass, DOCUMENT_ROOT__SQL_MAP);
		createEReference(documentRootEClass, DOCUMENT_ROOT__STATEMENT);
		createEReference(documentRootEClass, DOCUMENT_ROOT__SUB_MAP);
		createEReference(documentRootEClass, DOCUMENT_ROOT__TYPE_ALIAS);
		createEReference(documentRootEClass, DOCUMENT_ROOT__UPDATE);

		dynamicEClass = createEClass(DYNAMIC);
		createEAttribute(dynamicEClass, DYNAMIC__CLOSE);
		createEAttribute(dynamicEClass, DYNAMIC__OPEN);
		createEAttribute(dynamicEClass, DYNAMIC__PREPEND);

		flushIntervalEClass = createEClass(FLUSH_INTERVAL);
		createEAttribute(flushIntervalEClass, FLUSH_INTERVAL__HOURS);
		createEAttribute(flushIntervalEClass, FLUSH_INTERVAL__MILLISECONDS);
		createEAttribute(flushIntervalEClass, FLUSH_INTERVAL__MINUTES);
		createEAttribute(flushIntervalEClass, FLUSH_INTERVAL__SECONDS);

		flushOnExecuteEClass = createEClass(FLUSH_ON_EXECUTE);
		createEReference(flushOnExecuteEClass, FLUSH_ON_EXECUTE__STATEMENT);

		generalNestedStatementEClass = createEClass(GENERAL_NESTED_STATEMENT);
		createEAttribute(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__MIXED);
		createEAttribute(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__TG_NESTED_CONDITION);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__INCLUDE);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__ITERATE);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_PARAMETER_PRESENT);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_NOT_PARAMETER_PRESENT);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_EMPTY);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_NOT_EMPTY);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_NOT_NULL);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_NULL);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_NOT_EQUAL);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_EQUAL);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_GREATER_THAN);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_GREATER_EQUAL);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_LESS_THAN);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_LESS_EQUAL);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_PROPERTY_AVAILABLE);
		createEReference(generalNestedStatementEClass, GENERAL_NESTED_STATEMENT__IS_NOT_PROPERTY_AVAILABLE);

		generalStatementEClass = createEClass(GENERAL_STATEMENT);
		createEAttribute(generalStatementEClass, GENERAL_STATEMENT__GROUP);
		createEReference(generalStatementEClass, GENERAL_STATEMENT__DYNAMIC);
		createEAttribute(generalStatementEClass, GENERAL_STATEMENT__ID);
		createEAttribute(generalStatementEClass, GENERAL_STATEMENT__PARAMETER_CLASS);
		createEReference(generalStatementEClass, GENERAL_STATEMENT__PARAMETER_MAP);
		createEAttribute(generalStatementEClass, GENERAL_STATEMENT__TIMEOUT);

		includeEClass = createEClass(INCLUDE);
		createEReference(includeEClass, INCLUDE__REFID);

		insertEClass = createEClass(INSERT);
		createEAttribute(insertEClass, INSERT__GROUP1);
		createEReference(insertEClass, INSERT__SELECTKEY);

		isEmptyEClass = createEClass(IS_EMPTY);
		createEAttribute(isEmptyEClass, IS_EMPTY__CLOSE);
		createEAttribute(isEmptyEClass, IS_EMPTY__OPEN);
		createEAttribute(isEmptyEClass, IS_EMPTY__PREPEND);
		createEAttribute(isEmptyEClass, IS_EMPTY__PROPERTY);
		createEAttribute(isEmptyEClass, IS_EMPTY__REMOVE_FIRST_PREPEND);

		isEqualEClass = createEClass(IS_EQUAL);
		createEAttribute(isEqualEClass, IS_EQUAL__CLOSE);
		createEAttribute(isEqualEClass, IS_EQUAL__COMPARE_PROPERTY);
		createEAttribute(isEqualEClass, IS_EQUAL__COMPARE_VALUE);
		createEAttribute(isEqualEClass, IS_EQUAL__OPEN);
		createEAttribute(isEqualEClass, IS_EQUAL__PREPEND);
		createEAttribute(isEqualEClass, IS_EQUAL__PROPERTY);
		createEAttribute(isEqualEClass, IS_EQUAL__REMOVE_FIRST_PREPEND);

		isGreaterEqualEClass = createEClass(IS_GREATER_EQUAL);
		createEAttribute(isGreaterEqualEClass, IS_GREATER_EQUAL__CLOSE);
		createEAttribute(isGreaterEqualEClass, IS_GREATER_EQUAL__COMPARE_PROPERTY);
		createEAttribute(isGreaterEqualEClass, IS_GREATER_EQUAL__COMPARE_VALUE);
		createEAttribute(isGreaterEqualEClass, IS_GREATER_EQUAL__OPEN);
		createEAttribute(isGreaterEqualEClass, IS_GREATER_EQUAL__PREPEND);
		createEAttribute(isGreaterEqualEClass, IS_GREATER_EQUAL__PROPERTY);
		createEAttribute(isGreaterEqualEClass, IS_GREATER_EQUAL__REMOVE_FIRST_PREPEND);

		isGreaterThanEClass = createEClass(IS_GREATER_THAN);
		createEAttribute(isGreaterThanEClass, IS_GREATER_THAN__CLOSE);
		createEAttribute(isGreaterThanEClass, IS_GREATER_THAN__COMPARE_PROPERTY);
		createEAttribute(isGreaterThanEClass, IS_GREATER_THAN__COMPARE_VALUE);
		createEAttribute(isGreaterThanEClass, IS_GREATER_THAN__OPEN);
		createEAttribute(isGreaterThanEClass, IS_GREATER_THAN__PREPEND);
		createEAttribute(isGreaterThanEClass, IS_GREATER_THAN__PROPERTY);
		createEAttribute(isGreaterThanEClass, IS_GREATER_THAN__REMOVE_FIRST_PREPEND);

		isLessEqualEClass = createEClass(IS_LESS_EQUAL);
		createEAttribute(isLessEqualEClass, IS_LESS_EQUAL__CLOSE);
		createEAttribute(isLessEqualEClass, IS_LESS_EQUAL__COMPARE_PROPERTY);
		createEAttribute(isLessEqualEClass, IS_LESS_EQUAL__COMPARE_VALUE);
		createEAttribute(isLessEqualEClass, IS_LESS_EQUAL__OPEN);
		createEAttribute(isLessEqualEClass, IS_LESS_EQUAL__PREPEND);
		createEAttribute(isLessEqualEClass, IS_LESS_EQUAL__PROPERTY);
		createEAttribute(isLessEqualEClass, IS_LESS_EQUAL__REMOVE_FIRST_PREPEND);

		isLessThanEClass = createEClass(IS_LESS_THAN);
		createEAttribute(isLessThanEClass, IS_LESS_THAN__CLOSE);
		createEAttribute(isLessThanEClass, IS_LESS_THAN__COMPARE_PROPERTY);
		createEAttribute(isLessThanEClass, IS_LESS_THAN__COMPARE_VALUE);
		createEAttribute(isLessThanEClass, IS_LESS_THAN__OPEN);
		createEAttribute(isLessThanEClass, IS_LESS_THAN__PREPEND);
		createEAttribute(isLessThanEClass, IS_LESS_THAN__PROPERTY);
		createEAttribute(isLessThanEClass, IS_LESS_THAN__REMOVE_FIRST_PREPEND);

		isNotEmptyEClass = createEClass(IS_NOT_EMPTY);
		createEAttribute(isNotEmptyEClass, IS_NOT_EMPTY__CLOSE);
		createEAttribute(isNotEmptyEClass, IS_NOT_EMPTY__OPEN);
		createEAttribute(isNotEmptyEClass, IS_NOT_EMPTY__PREPEND);
		createEAttribute(isNotEmptyEClass, IS_NOT_EMPTY__PROPERTY);
		createEAttribute(isNotEmptyEClass, IS_NOT_EMPTY__REMOVE_FIRST_PREPEND);

		isNotEqualEClass = createEClass(IS_NOT_EQUAL);
		createEAttribute(isNotEqualEClass, IS_NOT_EQUAL__CLOSE);
		createEAttribute(isNotEqualEClass, IS_NOT_EQUAL__COMPARE_PROPERTY);
		createEAttribute(isNotEqualEClass, IS_NOT_EQUAL__COMPARE_VALUE);
		createEAttribute(isNotEqualEClass, IS_NOT_EQUAL__OPEN);
		createEAttribute(isNotEqualEClass, IS_NOT_EQUAL__PREPEND);
		createEAttribute(isNotEqualEClass, IS_NOT_EQUAL__PROPERTY);
		createEAttribute(isNotEqualEClass, IS_NOT_EQUAL__REMOVE_FIRST_PREPEND);

		isNotNullEClass = createEClass(IS_NOT_NULL);
		createEAttribute(isNotNullEClass, IS_NOT_NULL__CLOSE);
		createEAttribute(isNotNullEClass, IS_NOT_NULL__OPEN);
		createEAttribute(isNotNullEClass, IS_NOT_NULL__PREPEND);
		createEAttribute(isNotNullEClass, IS_NOT_NULL__PROPERTY);
		createEAttribute(isNotNullEClass, IS_NOT_NULL__REMOVE_FIRST_PREPEND);

		isNotParameterPresentEClass = createEClass(IS_NOT_PARAMETER_PRESENT);
		createEAttribute(isNotParameterPresentEClass, IS_NOT_PARAMETER_PRESENT__CLOSE);
		createEAttribute(isNotParameterPresentEClass, IS_NOT_PARAMETER_PRESENT__OPEN);
		createEAttribute(isNotParameterPresentEClass, IS_NOT_PARAMETER_PRESENT__PREPEND);
		createEAttribute(isNotParameterPresentEClass, IS_NOT_PARAMETER_PRESENT__REMOVE_FIRST_PREPEND);

		isNotPropertyAvailableEClass = createEClass(IS_NOT_PROPERTY_AVAILABLE);
		createEAttribute(isNotPropertyAvailableEClass, IS_NOT_PROPERTY_AVAILABLE__CLOSE);
		createEAttribute(isNotPropertyAvailableEClass, IS_NOT_PROPERTY_AVAILABLE__OPEN);
		createEAttribute(isNotPropertyAvailableEClass, IS_NOT_PROPERTY_AVAILABLE__PREPEND);
		createEAttribute(isNotPropertyAvailableEClass, IS_NOT_PROPERTY_AVAILABLE__PROPERTY);
		createEAttribute(isNotPropertyAvailableEClass, IS_NOT_PROPERTY_AVAILABLE__REMOVE_FIRST_PREPEND);

		isNullEClass = createEClass(IS_NULL);
		createEAttribute(isNullEClass, IS_NULL__CLOSE);
		createEAttribute(isNullEClass, IS_NULL__OPEN);
		createEAttribute(isNullEClass, IS_NULL__PREPEND);
		createEAttribute(isNullEClass, IS_NULL__PROPERTY);
		createEAttribute(isNullEClass, IS_NULL__REMOVE_FIRST_PREPEND);

		isParameterPresentEClass = createEClass(IS_PARAMETER_PRESENT);
		createEAttribute(isParameterPresentEClass, IS_PARAMETER_PRESENT__CLOSE);
		createEAttribute(isParameterPresentEClass, IS_PARAMETER_PRESENT__OPEN);
		createEAttribute(isParameterPresentEClass, IS_PARAMETER_PRESENT__PREPEND);
		createEAttribute(isParameterPresentEClass, IS_PARAMETER_PRESENT__REMOVE_FIRST_PREPEND);

		isPropertyAvailableEClass = createEClass(IS_PROPERTY_AVAILABLE);
		createEAttribute(isPropertyAvailableEClass, IS_PROPERTY_AVAILABLE__CLOSE);
		createEAttribute(isPropertyAvailableEClass, IS_PROPERTY_AVAILABLE__OPEN);
		createEAttribute(isPropertyAvailableEClass, IS_PROPERTY_AVAILABLE__PREPEND);
		createEAttribute(isPropertyAvailableEClass, IS_PROPERTY_AVAILABLE__PROPERTY);
		createEAttribute(isPropertyAvailableEClass, IS_PROPERTY_AVAILABLE__REMOVE_FIRST_PREPEND);

		iterateEClass = createEClass(ITERATE);
		createEAttribute(iterateEClass, ITERATE__CLOSE);
		createEAttribute(iterateEClass, ITERATE__CONJUNCTION);
		createEAttribute(iterateEClass, ITERATE__OPEN);
		createEAttribute(iterateEClass, ITERATE__PREPEND);
		createEAttribute(iterateEClass, ITERATE__PROPERTY);
		createEAttribute(iterateEClass, ITERATE__REMOVE_FIRST_PREPEND);

		parameterEClass = createEClass(PARAMETER);
		createEAttribute(parameterEClass, PARAMETER__JAVA_TYPE);
		createEAttribute(parameterEClass, PARAMETER__JDBC_TYPE);
		createEAttribute(parameterEClass, PARAMETER__MODE);
		createEAttribute(parameterEClass, PARAMETER__NULL_VALUE);
		createEAttribute(parameterEClass, PARAMETER__NUMERIC_SCALE);
		createEAttribute(parameterEClass, PARAMETER__PROPERTY);
		createEReference(parameterEClass, PARAMETER__RESULT_MAP);
		createEAttribute(parameterEClass, PARAMETER__TYPE_HANDLER);
		createEAttribute(parameterEClass, PARAMETER__TYPE_NAME);

		parameterMapEClass = createEClass(PARAMETER_MAP);
		createEReference(parameterMapEClass, PARAMETER_MAP__PARAMETER);
		createEAttribute(parameterMapEClass, PARAMETER_MAP__CLASS);
		createEAttribute(parameterMapEClass, PARAMETER_MAP__ID);

		procedureEClass = createEClass(PROCEDURE);
		createEReference(procedureEClass, PROCEDURE__CACHE_MODEL);
		createEAttribute(procedureEClass, PROCEDURE__FETCH_SIZE);
		createEAttribute(procedureEClass, PROCEDURE__REMAP_RESULTS);
		createEAttribute(procedureEClass, PROCEDURE__RESULT_CLASS);
		createEReference(procedureEClass, PROCEDURE__RESULT_MAP);
		createEAttribute(procedureEClass, PROCEDURE__XML_RESULT_NAME);

		propertyEClass = createEClass(PROPERTY);
		createEAttribute(propertyEClass, PROPERTY__NAME);
		createEAttribute(propertyEClass, PROPERTY__VALUE);

		resultEClass = createEClass(RESULT);
		createEAttribute(resultEClass, RESULT__COLUMN);
		createEAttribute(resultEClass, RESULT__COLUMN_INDEX);
		createEAttribute(resultEClass, RESULT__JAVA_TYPE);
		createEAttribute(resultEClass, RESULT__JDBC_TYPE);
		createEAttribute(resultEClass, RESULT__NOT_NULL_COLUMN);
		createEAttribute(resultEClass, RESULT__NULL_VALUE);
		createEAttribute(resultEClass, RESULT__PROPERTY);
		createEReference(resultEClass, RESULT__RESULT_MAP);
		createEReference(resultEClass, RESULT__SELECT);
		createEAttribute(resultEClass, RESULT__TYPE_HANDLER);

		resultMapEClass = createEClass(RESULT_MAP);
		createEReference(resultMapEClass, RESULT_MAP__RESULT);
		createEReference(resultMapEClass, RESULT_MAP__DISCRIMINATOR);
		createEAttribute(resultMapEClass, RESULT_MAP__CLASS);
		createEReference(resultMapEClass, RESULT_MAP__EXTENDS);
		createEAttribute(resultMapEClass, RESULT_MAP__GROUP_BY);
		createEAttribute(resultMapEClass, RESULT_MAP__ID);
		createEAttribute(resultMapEClass, RESULT_MAP__XML_NAME);

		selectEClass = createEClass(SELECT);
		createEReference(selectEClass, SELECT__CACHE_MODEL);
		createEAttribute(selectEClass, SELECT__FETCH_SIZE);
		createEAttribute(selectEClass, SELECT__REMAP_RESULTS);
		createEAttribute(selectEClass, SELECT__RESULT_CLASS);
		createEReference(selectEClass, SELECT__RESULT_MAP);
		createEAttribute(selectEClass, SELECT__RESULT_SET_TYPE);
		createEAttribute(selectEClass, SELECT__XML_RESULT_NAME);

		selectKeyEClass = createEClass(SELECT_KEY);
		createEAttribute(selectKeyEClass, SELECT_KEY__MIXED);
		createEAttribute(selectKeyEClass, SELECT_KEY__GROUP);
		createEReference(selectKeyEClass, SELECT_KEY__INCLUDE);
		createEAttribute(selectKeyEClass, SELECT_KEY__KEY_PROPERTY);
		createEAttribute(selectKeyEClass, SELECT_KEY__RESULT_CLASS);
		createEAttribute(selectKeyEClass, SELECT_KEY__TYPE);

		sqlEClass = createEClass(SQL);
		createEAttribute(sqlEClass, SQL__GROUP);
		createEReference(sqlEClass, SQL__DYNAMIC);
		createEAttribute(sqlEClass, SQL__ID);

		sqlMapEClass = createEClass(SQL_MAP);
		createEAttribute(sqlMapEClass, SQL_MAP__GROUP);
		createEReference(sqlMapEClass, SQL_MAP__TYPE_ALIAS);
		createEReference(sqlMapEClass, SQL_MAP__CACHE_MODEL);
		createEReference(sqlMapEClass, SQL_MAP__RESULT_MAP);
		createEReference(sqlMapEClass, SQL_MAP__PARAMETER_MAP);
		createEReference(sqlMapEClass, SQL_MAP__SQL);
		createEReference(sqlMapEClass, SQL_MAP__STATEMENT);
		createEReference(sqlMapEClass, SQL_MAP__INSERT);
		createEReference(sqlMapEClass, SQL_MAP__UPDATE);
		createEReference(sqlMapEClass, SQL_MAP__DELETE);
		createEReference(sqlMapEClass, SQL_MAP__SELECT);
		createEReference(sqlMapEClass, SQL_MAP__PROCEDURE);
		createEAttribute(sqlMapEClass, SQL_MAP__NAMESPACE);

		statementEClass = createEClass(STATEMENT);
		createEReference(statementEClass, STATEMENT__CACHE_MODEL);
		createEAttribute(statementEClass, STATEMENT__FETCH_SIZE);
		createEAttribute(statementEClass, STATEMENT__REMAP_RESULTS);
		createEAttribute(statementEClass, STATEMENT__RESULT_CLASS);
		createEReference(statementEClass, STATEMENT__RESULT_MAP);
		createEAttribute(statementEClass, STATEMENT__RESULT_SET_TYPE);
		createEAttribute(statementEClass, STATEMENT__XML_RESULT_NAME);

		subMapEClass = createEClass(SUB_MAP);
		createEReference(subMapEClass, SUB_MAP__RESULT_MAP);
		createEAttribute(subMapEClass, SUB_MAP__VALUE);

		typeAliasEClass = createEClass(TYPE_ALIAS);
		createEAttribute(typeAliasEClass, TYPE_ALIAS__ALIAS);
		createEAttribute(typeAliasEClass, TYPE_ALIAS__TYPE);

		updateEClass = createEClass(UPDATE);

		// Create enums
		enumResultTypeEEnum = createEEnum(ENUM_RESULT_TYPE);
		modeTypeEEnum = createEEnum(MODE_TYPE);
		typeTypeEEnum = createEEnum(TYPE_TYPE);

		// Create data types
		enumResultTypeObjectEDataType = createEDataType(ENUM_RESULT_TYPE_OBJECT);
		modeTypeObjectEDataType = createEDataType(MODE_TYPE_OBJECT);
		typeTypeObjectEDataType = createEDataType(TYPE_TYPE_OBJECT);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isInitialized = false;

	/**
	 * Complete the initialization of the package and its meta-model.  This
	 * method is guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void initializePackageContents() {
		if (isInitialized) return;
		isInitialized = true;

		// Initialize package
		setName(eNAME);
		setNsPrefix(eNS_PREFIX);
		setNsURI(eNS_URI);

		// Obtain other dependent packages
		CommonPackage theCommonPackage = (CommonPackage)EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI);
		XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
		EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);

		// Create type parameters

		// Set bounds for type parameters

		// Add supertypes to classes
		cacheModelEClass.getESuperTypes().add(theCommonPackage.getIIdentified());
		deleteEClass.getESuperTypes().add(this.getGeneralStatement());
		dynamicEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		generalStatementEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		generalStatementEClass.getESuperTypes().add(theCommonPackage.getIIdentified());
		insertEClass.getESuperTypes().add(this.getGeneralStatement());
		isEmptyEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isEqualEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isGreaterEqualEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isGreaterThanEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isLessEqualEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isLessThanEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isNotEmptyEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isNotEqualEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isNotNullEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isNotParameterPresentEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isNotPropertyAvailableEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isNullEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isParameterPresentEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		isPropertyAvailableEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		iterateEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		parameterMapEClass.getESuperTypes().add(theCommonPackage.getIIdentified());
		procedureEClass.getESuperTypes().add(this.getGeneralStatement());
		resultMapEClass.getESuperTypes().add(theCommonPackage.getIIdentified());
		selectEClass.getESuperTypes().add(this.getGeneralStatement());
		sqlEClass.getESuperTypes().add(this.getGeneralNestedStatement());
		sqlEClass.getESuperTypes().add(theCommonPackage.getIIdentified());
		statementEClass.getESuperTypes().add(this.getGeneralStatement());
		updateEClass.getESuperTypes().add(this.getGeneralStatement());

		// Initialize classes and features; add operations and parameters
		initEClass(cacheModelEClass, CacheModel.class, "CacheModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getCacheModel_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, CacheModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getCacheModel_FlushInterval(), this.getFlushInterval(), null, "flushInterval", null, 0, -1, CacheModel.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getCacheModel_FlushOnExecute(), this.getFlushOnExecute(), null, "flushOnExecute", null, 0, -1, CacheModel.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getCacheModel_Property(), this.getProperty(), null, "property", null, 0, -1, CacheModel.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getCacheModel_Id(), theXMLTypePackage.getID(), "id", null, 1, 1, CacheModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getCacheModel_ReadOnly(), theEcorePackage.getEBooleanObject(), "readOnly", null, 0, 1, CacheModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getCacheModel_Serialize(), theEcorePackage.getEBooleanObject(), "serialize", null, 0, 1, CacheModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getCacheModel_Type(), theXMLTypePackage.getAnySimpleType(), "type", null, 1, 1, CacheModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(deleteEClass, Delete.class, "Delete", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(discriminatorEClass, Discriminator.class, "Discriminator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getDiscriminator_SubMap(), this.getSubMap(), null, "subMap", null, 1, -1, Discriminator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getDiscriminator_Column(), theXMLTypePackage.getString(), "column", null, 0, 1, Discriminator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getDiscriminator_ColumnIndex(), theEcorePackage.getEIntegerObject(), "columnIndex", null, 0, 1, Discriminator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getDiscriminator_JavaType(), theXMLTypePackage.getString(), "javaType", null, 0, 1, Discriminator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getDiscriminator_JdbcType(), theXMLTypePackage.getString(), "jdbcType", null, 0, 1, Discriminator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getDiscriminator_NullValue(), theXMLTypePackage.getString(), "nullValue", null, 0, 1, Discriminator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getDiscriminator_TypeHandler(), theXMLTypePackage.getString(), "typeHandler", null, 0, 1, Discriminator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_CacheModel(), this.getCacheModel(), null, "cacheModel", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Delete(), this.getDelete(), null, "delete", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Discriminator(), this.getDiscriminator(), null, "discriminator", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Dynamic(), this.getDynamic(), null, "dynamic", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_FlushInterval(), this.getFlushInterval(), null, "flushInterval", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_FlushOnExecute(), this.getFlushOnExecute(), null, "flushOnExecute", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Include(), this.getInclude(), null, "include", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Insert(), this.getInsert(), null, "insert", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsEmpty(), this.getIsEmpty(), null, "isEmpty", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsEqual(), this.getIsEqual(), null, "isEqual", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsGreaterEqual(), this.getIsGreaterEqual(), null, "isGreaterEqual", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsGreaterThan(), this.getIsGreaterThan(), null, "isGreaterThan", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsLessEqual(), this.getIsLessEqual(), null, "isLessEqual", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsLessThan(), this.getIsLessThan(), null, "isLessThan", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsNotEmpty(), this.getIsNotEmpty(), null, "isNotEmpty", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsNotEqual(), this.getIsNotEqual(), null, "isNotEqual", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsNotNull(), this.getIsNotNull(), null, "isNotNull", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsNotParameterPresent(), this.getIsNotParameterPresent(), null, "isNotParameterPresent", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsNotPropertyAvailable(), this.getIsNotPropertyAvailable(), null, "isNotPropertyAvailable", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsNull(), this.getIsNull(), null, "isNull", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsParameterPresent(), this.getIsParameterPresent(), null, "isParameterPresent", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_IsPropertyAvailable(), this.getIsPropertyAvailable(), null, "isPropertyAvailable", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Iterate(), this.getIterate(), null, "iterate", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Parameter(), this.getParameter(), null, "parameter", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_ParameterMap(), this.getParameterMap(), null, "parameterMap", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Procedure(), this.getProcedure(), null, "procedure", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Property(), this.getProperty(), null, "property", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Result(), this.getResult(), null, "result", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_ResultMap(), this.getResultMap(), null, "resultMap", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Select(), this.getSelect(), null, "select", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_SelectKey(), this.getSelectKey(), null, "selectKey", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Sql(), this.getSql(), null, "sql", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_SqlMap(), this.getSqlMap(), null, "sqlMap", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Statement(), this.getStatement(), null, "statement", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_SubMap(), this.getSubMap(), null, "subMap", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_TypeAlias(), this.getTypeAlias(), null, "typeAlias", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Update(), this.getUpdate(), null, "update", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);

		initEClass(dynamicEClass, org.taobao.ibatiside.model.mapperv2.Dynamic.class, "Dynamic", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getDynamic_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, org.taobao.ibatiside.model.mapperv2.Dynamic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getDynamic_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, org.taobao.ibatiside.model.mapperv2.Dynamic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getDynamic_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, org.taobao.ibatiside.model.mapperv2.Dynamic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(flushIntervalEClass, FlushInterval.class, "FlushInterval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getFlushInterval_Hours(), theEcorePackage.getEIntegerObject(), "hours", null, 0, 1, FlushInterval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getFlushInterval_Milliseconds(), theEcorePackage.getEIntegerObject(), "milliseconds", null, 0, 1, FlushInterval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getFlushInterval_Minutes(), theEcorePackage.getEIntegerObject(), "minutes", null, 0, 1, FlushInterval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getFlushInterval_Seconds(), theEcorePackage.getEIntegerObject(), "seconds", null, 0, 1, FlushInterval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(flushOnExecuteEClass, FlushOnExecute.class, "FlushOnExecute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getFlushOnExecute_Statement(), this.getGeneralStatement(), null, "statement", null, 1, 1, FlushOnExecute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(generalNestedStatementEClass, GeneralNestedStatement.class, "GeneralNestedStatement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getGeneralNestedStatement_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, GeneralNestedStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getGeneralNestedStatement_TgNestedCondition(), ecorePackage.getEFeatureMapEntry(), "tgNestedCondition", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_Include(), this.getInclude(), null, "include", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_Iterate(), this.getIterate(), null, "iterate", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsParameterPresent(), this.getIsParameterPresent(), null, "isParameterPresent", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsNotParameterPresent(), this.getIsNotParameterPresent(), null, "isNotParameterPresent", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsEmpty(), this.getIsEmpty(), null, "isEmpty", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsNotEmpty(), this.getIsNotEmpty(), null, "isNotEmpty", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsNotNull(), this.getIsNotNull(), null, "isNotNull", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsNull(), this.getIsNull(), null, "isNull", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsNotEqual(), this.getIsNotEqual(), null, "isNotEqual", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsEqual(), this.getIsEqual(), null, "isEqual", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsGreaterThan(), this.getIsGreaterThan(), null, "isGreaterThan", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsGreaterEqual(), this.getIsGreaterEqual(), null, "isGreaterEqual", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsLessThan(), this.getIsLessThan(), null, "isLessThan", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsLessEqual(), this.getIsLessEqual(), null, "isLessEqual", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsPropertyAvailable(), this.getIsPropertyAvailable(), null, "isPropertyAvailable", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralNestedStatement_IsNotPropertyAvailable(), this.getIsNotPropertyAvailable(), null, "isNotPropertyAvailable", null, 0, -1, GeneralNestedStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);

		initEClass(generalStatementEClass, GeneralStatement.class, "GeneralStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getGeneralStatement_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, GeneralStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralStatement_Dynamic(), this.getDynamic(), null, "dynamic", null, 0, -1, GeneralStatement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getGeneralStatement_Id(), theXMLTypePackage.getID(), "id", null, 1, 1, GeneralStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getGeneralStatement_ParameterClass(), theXMLTypePackage.getString(), "parameterClass", null, 0, 1, GeneralStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getGeneralStatement_ParameterMap(), this.getParameterMap(), null, "parameterMap", null, 0, 1, GeneralStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getGeneralStatement_Timeout(), theEcorePackage.getEIntegerObject(), "timeout", null, 0, 1, GeneralStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(includeEClass, Include.class, "Include", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getInclude_Refid(), this.getSql(), null, "refid", null, 1, 1, Include.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(insertEClass, Insert.class, "Insert", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getInsert_Group1(), ecorePackage.getEFeatureMapEntry(), "group1", null, 0, -1, Insert.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getInsert_Selectkey(), ecorePackage.getEObject(), null, "selectkey", null, 0, -1, Insert.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);

		initEClass(isEmptyEClass, IsEmpty.class, "IsEmpty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsEmpty_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsEmpty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsEmpty_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsEmpty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsEmpty_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsEmpty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsEmpty_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsEmpty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsEmpty_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsEmpty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isEqualEClass, IsEqual.class, "IsEqual", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsEqual_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsEqual_CompareProperty(), theXMLTypePackage.getString(), "compareProperty", null, 0, 1, IsEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsEqual_CompareValue(), theXMLTypePackage.getString(), "compareValue", null, 0, 1, IsEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsEqual_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsEqual_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsEqual_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsEqual_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isGreaterEqualEClass, IsGreaterEqual.class, "IsGreaterEqual", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsGreaterEqual_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsGreaterEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterEqual_CompareProperty(), theXMLTypePackage.getString(), "compareProperty", null, 0, 1, IsGreaterEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterEqual_CompareValue(), theXMLTypePackage.getString(), "compareValue", null, 0, 1, IsGreaterEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterEqual_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsGreaterEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterEqual_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsGreaterEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterEqual_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsGreaterEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterEqual_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsGreaterEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isGreaterThanEClass, IsGreaterThan.class, "IsGreaterThan", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsGreaterThan_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsGreaterThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterThan_CompareProperty(), theXMLTypePackage.getString(), "compareProperty", null, 0, 1, IsGreaterThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterThan_CompareValue(), theXMLTypePackage.getString(), "compareValue", null, 0, 1, IsGreaterThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterThan_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsGreaterThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterThan_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsGreaterThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterThan_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsGreaterThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsGreaterThan_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsGreaterThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isLessEqualEClass, IsLessEqual.class, "IsLessEqual", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsLessEqual_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsLessEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessEqual_CompareProperty(), theXMLTypePackage.getString(), "compareProperty", null, 0, 1, IsLessEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessEqual_CompareValue(), theXMLTypePackage.getString(), "compareValue", null, 0, 1, IsLessEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessEqual_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsLessEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessEqual_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsLessEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessEqual_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsLessEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessEqual_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsLessEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isLessThanEClass, IsLessThan.class, "IsLessThan", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsLessThan_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsLessThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessThan_CompareProperty(), theXMLTypePackage.getString(), "compareProperty", null, 0, 1, IsLessThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessThan_CompareValue(), theXMLTypePackage.getString(), "compareValue", null, 0, 1, IsLessThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessThan_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsLessThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessThan_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsLessThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessThan_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsLessThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsLessThan_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsLessThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isNotEmptyEClass, IsNotEmpty.class, "IsNotEmpty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsNotEmpty_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsNotEmpty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotEmpty_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsNotEmpty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotEmpty_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsNotEmpty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotEmpty_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsNotEmpty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotEmpty_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsNotEmpty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isNotEqualEClass, IsNotEqual.class, "IsNotEqual", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsNotEqual_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsNotEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotEqual_CompareProperty(), theXMLTypePackage.getString(), "compareProperty", null, 0, 1, IsNotEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotEqual_CompareValue(), theXMLTypePackage.getString(), "compareValue", null, 0, 1, IsNotEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotEqual_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsNotEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotEqual_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsNotEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotEqual_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsNotEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotEqual_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsNotEqual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isNotNullEClass, IsNotNull.class, "IsNotNull", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsNotNull_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsNotNull.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotNull_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsNotNull.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotNull_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsNotNull.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotNull_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsNotNull.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotNull_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsNotNull.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isNotParameterPresentEClass, IsNotParameterPresent.class, "IsNotParameterPresent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsNotParameterPresent_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsNotParameterPresent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotParameterPresent_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsNotParameterPresent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotParameterPresent_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsNotParameterPresent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotParameterPresent_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsNotParameterPresent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isNotPropertyAvailableEClass, IsNotPropertyAvailable.class, "IsNotPropertyAvailable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsNotPropertyAvailable_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsNotPropertyAvailable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotPropertyAvailable_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsNotPropertyAvailable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotPropertyAvailable_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsNotPropertyAvailable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotPropertyAvailable_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsNotPropertyAvailable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNotPropertyAvailable_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsNotPropertyAvailable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isNullEClass, IsNull.class, "IsNull", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsNull_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsNull.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNull_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsNull.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNull_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsNull.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNull_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsNull.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsNull_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsNull.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isParameterPresentEClass, IsParameterPresent.class, "IsParameterPresent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsParameterPresent_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsParameterPresent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsParameterPresent_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsParameterPresent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsParameterPresent_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsParameterPresent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsParameterPresent_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsParameterPresent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(isPropertyAvailableEClass, IsPropertyAvailable.class, "IsPropertyAvailable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIsPropertyAvailable_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, IsPropertyAvailable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsPropertyAvailable_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, IsPropertyAvailable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsPropertyAvailable_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, IsPropertyAvailable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsPropertyAvailable_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, IsPropertyAvailable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIsPropertyAvailable_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, IsPropertyAvailable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(iterateEClass, Iterate.class, "Iterate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getIterate_Close(), theXMLTypePackage.getString(), "close", null, 0, 1, Iterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIterate_Conjunction(), theXMLTypePackage.getString(), "conjunction", null, 0, 1, Iterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIterate_Open(), theXMLTypePackage.getString(), "open", null, 0, 1, Iterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIterate_Prepend(), theXMLTypePackage.getString(), "prepend", null, 0, 1, Iterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIterate_Property(), theXMLTypePackage.getString(), "property", null, 0, 1, Iterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getIterate_RemoveFirstPrepend(), theEcorePackage.getEBooleanObject(), "removeFirstPrepend", null, 0, 1, Iterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getParameter_JavaType(), theXMLTypePackage.getString(), "javaType", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getParameter_JdbcType(), theXMLTypePackage.getString(), "jdbcType", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getParameter_Mode(), this.getModeType(), "mode", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getParameter_NullValue(), theXMLTypePackage.getString(), "nullValue", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getParameter_NumericScale(), theEcorePackage.getEIntegerObject(), "numericScale", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getParameter_Property(), theXMLTypePackage.getString(), "property", null, 1, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getParameter_ResultMap(), this.getResultMap(), null, "resultMap", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getParameter_TypeHandler(), theXMLTypePackage.getString(), "typeHandler", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getParameter_TypeName(), theXMLTypePackage.getString(), "typeName", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(parameterMapEClass, ParameterMap.class, "ParameterMap", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getParameterMap_Parameter(), this.getParameter(), null, "parameter", null, 1, -1, ParameterMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getParameterMap_Class(), theXMLTypePackage.getString(), "class", null, 1, 1, ParameterMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getParameterMap_Id(), theXMLTypePackage.getID(), "id", null, 1, 1, ParameterMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(procedureEClass, Procedure.class, "Procedure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getProcedure_CacheModel(), this.getCacheModel(), null, "cacheModel", null, 0, 1, Procedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getProcedure_FetchSize(), theEcorePackage.getEIntegerObject(), "fetchSize", null, 0, 1, Procedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getProcedure_RemapResults(), theEcorePackage.getEBooleanObject(), "remapResults", null, 0, 1, Procedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getProcedure_ResultClass(), theXMLTypePackage.getString(), "resultClass", null, 0, 1, Procedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getProcedure_ResultMap(), this.getResultMap(), null, "resultMap", null, 0, 1, Procedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getProcedure_XmlResultName(), theXMLTypePackage.getString(), "xmlResultName", null, 0, 1, Procedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(propertyEClass, Property.class, "Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getProperty_Name(), theXMLTypePackage.getID(), "name", null, 1, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getProperty_Value(), theXMLTypePackage.getAnySimpleType(), "value", null, 1, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(resultEClass, Result.class, "Result", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getResult_Column(), theXMLTypePackage.getString(), "column", null, 0, 1, Result.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResult_ColumnIndex(), theEcorePackage.getEIntegerObject(), "columnIndex", null, 0, 1, Result.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResult_JavaType(), theXMLTypePackage.getString(), "javaType", null, 0, 1, Result.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResult_JdbcType(), theXMLTypePackage.getString(), "jdbcType", null, 0, 1, Result.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResult_NotNullColumn(), theXMLTypePackage.getString(), "notNullColumn", null, 0, 1, Result.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResult_NullValue(), theXMLTypePackage.getString(), "nullValue", null, 0, 1, Result.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResult_Property(), theXMLTypePackage.getString(), "property", null, 1, 1, Result.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getResult_ResultMap(), this.getResultMap(), null, "resultMap", null, 0, 1, Result.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getResult_Select(), this.getSelect(), null, "select", null, 0, 1, Result.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResult_TypeHandler(), theXMLTypePackage.getString(), "typeHandler", null, 0, 1, Result.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(resultMapEClass, ResultMap.class, "ResultMap", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getResultMap_Result(), this.getResult(), null, "result", null, 0, -1, ResultMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getResultMap_Discriminator(), this.getDiscriminator(), null, "discriminator", null, 0, 1, ResultMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResultMap_Class(), theXMLTypePackage.getString(), "class", null, 1, 1, ResultMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getResultMap_Extends(), this.getResultMap(), null, "extends", null, 0, 1, ResultMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResultMap_GroupBy(), theXMLTypePackage.getString(), "groupBy", null, 0, 1, ResultMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResultMap_Id(), theXMLTypePackage.getID(), "id", null, 1, 1, ResultMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getResultMap_XmlName(), theXMLTypePackage.getString(), "xmlName", null, 0, 1, ResultMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(selectEClass, Select.class, "Select", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getSelect_CacheModel(), this.getCacheModel(), null, "cacheModel", null, 0, 1, Select.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getSelect_FetchSize(), theEcorePackage.getEIntegerObject(), "fetchSize", null, 0, 1, Select.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getSelect_RemapResults(), theEcorePackage.getEBooleanObject(), "remapResults", null, 0, 1, Select.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getSelect_ResultClass(), theXMLTypePackage.getString(), "resultClass", null, 0, 1, Select.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getSelect_ResultMap(), this.getResultMap(), null, "resultMap", null, 0, 1, Select.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getSelect_ResultSetType(), this.getEnumResultType(), "resultSetType", null, 0, 1, Select.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getSelect_XmlResultName(), theXMLTypePackage.getString(), "xmlResultName", null, 0, 1, Select.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(selectKeyEClass, SelectKey.class, "SelectKey", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getSelectKey_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, SelectKey.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getSelectKey_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, SelectKey.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSelectKey_Include(), this.getInclude(), null, "include", null, 0, -1, SelectKey.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getSelectKey_KeyProperty(), theXMLTypePackage.getString(), "keyProperty", null, 0, 1, SelectKey.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getSelectKey_ResultClass(), theXMLTypePackage.getString(), "resultClass", null, 0, 1, SelectKey.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getSelectKey_Type(), this.getTypeType(), "type", null, 0, 1, SelectKey.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(sqlEClass, Sql.class, "Sql", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getSql_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, Sql.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSql_Dynamic(), this.getDynamic(), null, "dynamic", null, 0, -1, Sql.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getSql_Id(), theXMLTypePackage.getID(), "id", null, 1, 1, Sql.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(sqlMapEClass, SqlMap.class, "SqlMap", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getSqlMap_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, SqlMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_TypeAlias(), this.getTypeAlias(), null, "typeAlias", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_CacheModel(), this.getCacheModel(), null, "cacheModel", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_ResultMap(), this.getResultMap(), null, "resultMap", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_ParameterMap(), this.getParameterMap(), null, "parameterMap", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_Sql(), this.getSql(), null, "sql", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_Statement(), this.getStatement(), null, "statement", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_Insert(), this.getInsert(), null, "insert", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_Update(), this.getUpdate(), null, "update", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_Delete(), this.getDelete(), null, "delete", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_Select(), this.getSelect(), null, "select", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getSqlMap_Procedure(), this.getProcedure(), null, "procedure", null, 0, -1, SqlMap.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getSqlMap_Namespace(), theXMLTypePackage.getString(), "namespace", null, 0, 1, SqlMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getStatement_CacheModel(), this.getCacheModel(), null, "cacheModel", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getStatement_FetchSize(), theEcorePackage.getEIntegerObject(), "fetchSize", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getStatement_RemapResults(), theEcorePackage.getEBooleanObject(), "remapResults", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getStatement_ResultClass(), theXMLTypePackage.getString(), "resultClass", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getStatement_ResultMap(), this.getResultMap(), null, "resultMap", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getStatement_ResultSetType(), this.getEnumResultType(), "resultSetType", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getStatement_XmlResultName(), theXMLTypePackage.getString(), "xmlResultName", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(subMapEClass, SubMap.class, "SubMap", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getSubMap_ResultMap(), this.getResultMap(), null, "resultMap", null, 1, 1, SubMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getSubMap_Value(), theXMLTypePackage.getID(), "value", null, 1, 1, SubMap.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(typeAliasEClass, TypeAlias.class, "TypeAlias", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getTypeAlias_Alias(), theXMLTypePackage.getID(), "alias", null, 1, 1, TypeAlias.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getTypeAlias_Type(), theXMLTypePackage.getString(), "type", null, 1, 1, TypeAlias.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(updateEClass, Update.class, "Update", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		// Initialize enums and add enum literals
		initEEnum(enumResultTypeEEnum, EnumResultType.class, "EnumResultType");
		addEEnumLiteral(enumResultTypeEEnum, EnumResultType.SCROLLINSENSITIVE);
		addEEnumLiteral(enumResultTypeEEnum, EnumResultType.FORWARDONLY);
		addEEnumLiteral(enumResultTypeEEnum, EnumResultType.SCROLLSENSITIVE);

		initEEnum(modeTypeEEnum, ModeType.class, "ModeType");
		addEEnumLiteral(modeTypeEEnum, ModeType.IN);
		addEEnumLiteral(modeTypeEEnum, ModeType.OUT);
		addEEnumLiteral(modeTypeEEnum, ModeType.INOUT);

		initEEnum(typeTypeEEnum, TypeType.class, "TypeType");
		addEEnumLiteral(typeTypeEEnum, TypeType.PRE);
		addEEnumLiteral(typeTypeEEnum, TypeType.POST);

		// Initialize data types
		initEDataType(enumResultTypeObjectEDataType, EnumResultType.class, "EnumResultTypeObject", IS_SERIALIZABLE, IS_GENERATED_INSTANCE_CLASS);
		initEDataType(modeTypeObjectEDataType, ModeType.class, "ModeTypeObject", IS_SERIALIZABLE, IS_GENERATED_INSTANCE_CLASS);
		initEDataType(typeTypeObjectEDataType, TypeType.class, "TypeTypeObject", IS_SERIALIZABLE, IS_GENERATED_INSTANCE_CLASS);

		// Create resource
		createResource(eNS_URI);

		// Create annotations
		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
		createExtendedMetaDataAnnotations();
	}

	/**
	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected void createExtendedMetaDataAnnotations() {
		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";			
		addAnnotation
		  (this, 
		   source, 
		   new String[] {
			 "qualified", "false"
		   });		
		addAnnotation
		  (cacheModelEClass, 
		   source, 
		   new String[] {
			 "name", "cacheModel",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getCacheModel_Group(), 
		   source, 
		   new String[] {
			 "kind", "group",
			 "name", "group:0"
		   });		
		addAnnotation
		  (getCacheModel_FlushInterval(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "flushInterval",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getCacheModel_FlushOnExecute(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "flushOnExecute",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getCacheModel_Property(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "property",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getCacheModel_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getCacheModel_ReadOnly(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "readOnly",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getCacheModel_Serialize(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "serialize",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getCacheModel_Type(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "type",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (deleteEClass, 
		   source, 
		   new String[] {
			 "name", "delete",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (discriminatorEClass, 
		   source, 
		   new String[] {
			 "name", "discriminator",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getDiscriminator_SubMap(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "subMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDiscriminator_Column(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "column",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDiscriminator_ColumnIndex(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "columnIndex",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDiscriminator_JavaType(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "javaType",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDiscriminator_JdbcType(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "jdbcType",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDiscriminator_NullValue(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "nullValue",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDiscriminator_TypeHandler(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "typeHandler",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (documentRootEClass, 
		   source, 
		   new String[] {
			 "name", "",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getDocumentRoot_Mixed(), 
		   source, 
		   new String[] {
			 "kind", "elementWildcard",
			 "name", ":mixed"
		   });		
		addAnnotation
		  (getDocumentRoot_XMLNSPrefixMap(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "xmlns:prefix"
		   });		
		addAnnotation
		  (getDocumentRoot_XSISchemaLocation(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "xsi:schemaLocation"
		   });		
		addAnnotation
		  (getDocumentRoot_CacheModel(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cacheModel",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Delete(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "delete",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Discriminator(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "discriminator",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Dynamic(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "dynamic",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_FlushInterval(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "flushInterval",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_FlushOnExecute(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "flushOnExecute",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Include(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "include",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Insert(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "insert",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsEmpty(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isEmpty",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsEqual(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isEqual",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsGreaterEqual(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isGreaterEqual",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsGreaterThan(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isGreaterThan",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsLessEqual(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isLessEqual",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsLessThan(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isLessThan",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsNotEmpty(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNotEmpty",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsNotEqual(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNotEqual",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsNotNull(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNotNull",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsNotParameterPresent(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNotParameterPresent",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsNotPropertyAvailable(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNotPropertyAvailable",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsNull(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNull",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsParameterPresent(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isParameterPresent",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_IsPropertyAvailable(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isPropertyAvailable",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Iterate(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "iterate",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Parameter(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "parameter",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_ParameterMap(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "parameterMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Procedure(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "procedure",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Property(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Result(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "result",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_ResultMap(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "resultMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Select(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "select",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_SelectKey(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "selectKey",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Sql(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "sql",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_SqlMap(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "sqlMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Statement(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "statement",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_SubMap(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "subMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_TypeAlias(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "typeAlias",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Update(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "update",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (dynamicEClass, 
		   source, 
		   new String[] {
			 "name", "dynamic",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getDynamic_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDynamic_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDynamic_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (enumResultTypeEEnum, 
		   source, 
		   new String[] {
			 "name", "enumResultType"
		   });		
		addAnnotation
		  (enumResultTypeObjectEDataType, 
		   source, 
		   new String[] {
			 "name", "enumResultType:Object",
			 "baseType", "enumResultType"
		   });		
		addAnnotation
		  (flushIntervalEClass, 
		   source, 
		   new String[] {
			 "name", "flushInterval",
			 "kind", "empty"
		   });		
		addAnnotation
		  (getFlushInterval_Hours(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "hours",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getFlushInterval_Milliseconds(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "milliseconds",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getFlushInterval_Minutes(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "minutes",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getFlushInterval_Seconds(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "seconds",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (flushOnExecuteEClass, 
		   source, 
		   new String[] {
			 "name", "flushOnExecute",
			 "kind", "empty"
		   });		
		addAnnotation
		  (getFlushOnExecute_Statement(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "statement",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (generalNestedStatementEClass, 
		   source, 
		   new String[] {
			 "name", "generalNestedStatement",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_Mixed(), 
		   source, 
		   new String[] {
			 "kind", "elementWildcard",
			 "name", ":mixed"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_TgNestedCondition(), 
		   source, 
		   new String[] {
			 "kind", "group",
			 "name", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_Include(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "include",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_Iterate(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "iterate",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsParameterPresent(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isParameterPresent",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsNotParameterPresent(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNotParameterPresent",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsEmpty(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isEmpty",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsNotEmpty(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNotEmpty",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsNotNull(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNotNull",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsNull(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNull",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsNotEqual(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNotEqual",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsEqual(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isEqual",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsGreaterThan(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isGreaterThan",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsGreaterEqual(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isGreaterEqual",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsLessThan(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isLessThan",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsLessEqual(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isLessEqual",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsPropertyAvailable(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isPropertyAvailable",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (getGeneralNestedStatement_IsNotPropertyAvailable(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "isNotPropertyAvailable",
			 "namespace", "##targetNamespace",
			 "group", "TgNestedCondition:1"
		   });		
		addAnnotation
		  (generalStatementEClass, 
		   source, 
		   new String[] {
			 "name", "generalStatement",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getGeneralStatement_Group(), 
		   source, 
		   new String[] {
			 "kind", "group",
			 "name", "group:18"
		   });		
		addAnnotation
		  (getGeneralStatement_Dynamic(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "dynamic",
			 "namespace", "##targetNamespace",
			 "group", "group:18"
		   });		
		addAnnotation
		  (getGeneralStatement_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getGeneralStatement_ParameterClass(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "parameterClass",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getGeneralStatement_ParameterMap(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "parameterMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getGeneralStatement_Timeout(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "timeout",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (includeEClass, 
		   source, 
		   new String[] {
			 "name", "include",
			 "kind", "empty"
		   });		
		addAnnotation
		  (getInclude_Refid(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "refid",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (insertEClass, 
		   source, 
		   new String[] {
			 "name", "insert",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getInsert_Group1(), 
		   source, 
		   new String[] {
			 "kind", "group",
			 "name", "group:24"
		   });		
		addAnnotation
		  (getInsert_Selectkey(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "selectkey",
			 "namespace", "##targetNamespace",
			 "group", "group:24"
		   });		
		addAnnotation
		  (isEmptyEClass, 
		   source, 
		   new String[] {
			 "name", "isEmpty",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsEmpty_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsEmpty_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsEmpty_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsEmpty_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsEmpty_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isEqualEClass, 
		   source, 
		   new String[] {
			 "name", "isEqual",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsEqual_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsEqual_CompareProperty(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareProperty",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsEqual_CompareValue(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareValue",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsEqual_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsEqual_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsEqual_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsEqual_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isGreaterEqualEClass, 
		   source, 
		   new String[] {
			 "name", "isGreaterEqual",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsGreaterEqual_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterEqual_CompareProperty(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareProperty",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterEqual_CompareValue(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareValue",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterEqual_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterEqual_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterEqual_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterEqual_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isGreaterThanEClass, 
		   source, 
		   new String[] {
			 "name", "isGreaterThan",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsGreaterThan_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterThan_CompareProperty(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareProperty",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterThan_CompareValue(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareValue",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterThan_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterThan_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterThan_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsGreaterThan_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isLessEqualEClass, 
		   source, 
		   new String[] {
			 "name", "isLessEqual",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsLessEqual_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessEqual_CompareProperty(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareProperty",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessEqual_CompareValue(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareValue",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessEqual_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessEqual_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessEqual_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessEqual_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isLessThanEClass, 
		   source, 
		   new String[] {
			 "name", "isLessThan",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsLessThan_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessThan_CompareProperty(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareProperty",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessThan_CompareValue(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareValue",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessThan_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessThan_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessThan_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsLessThan_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isNotEmptyEClass, 
		   source, 
		   new String[] {
			 "name", "isNotEmpty",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsNotEmpty_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotEmpty_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotEmpty_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotEmpty_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotEmpty_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isNotEqualEClass, 
		   source, 
		   new String[] {
			 "name", "isNotEqual",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsNotEqual_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotEqual_CompareProperty(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareProperty",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotEqual_CompareValue(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "compareValue",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotEqual_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotEqual_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotEqual_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotEqual_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isNotNullEClass, 
		   source, 
		   new String[] {
			 "name", "isNotNull",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsNotNull_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotNull_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotNull_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotNull_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotNull_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isNotParameterPresentEClass, 
		   source, 
		   new String[] {
			 "name", "isNotParameterPresent",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsNotParameterPresent_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotParameterPresent_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotParameterPresent_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotParameterPresent_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isNotPropertyAvailableEClass, 
		   source, 
		   new String[] {
			 "name", "isNotPropertyAvailable",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsNotPropertyAvailable_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotPropertyAvailable_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotPropertyAvailable_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotPropertyAvailable_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNotPropertyAvailable_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isNullEClass, 
		   source, 
		   new String[] {
			 "name", "isNull",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsNull_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNull_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNull_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNull_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsNull_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isParameterPresentEClass, 
		   source, 
		   new String[] {
			 "name", "isParameterPresent",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsParameterPresent_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsParameterPresent_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsParameterPresent_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsParameterPresent_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (isPropertyAvailableEClass, 
		   source, 
		   new String[] {
			 "name", "isPropertyAvailable",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIsPropertyAvailable_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsPropertyAvailable_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsPropertyAvailable_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsPropertyAvailable_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIsPropertyAvailable_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (iterateEClass, 
		   source, 
		   new String[] {
			 "name", "iterate",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getIterate_Close(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "close",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIterate_Conjunction(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "conjunction",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIterate_Open(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "open",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIterate_Prepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "prepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIterate_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getIterate_RemoveFirstPrepend(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "removeFirstPrepend",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (modeTypeEEnum, 
		   source, 
		   new String[] {
			 "name", "mode_._type"
		   });		
		addAnnotation
		  (modeTypeObjectEDataType, 
		   source, 
		   new String[] {
			 "name", "mode_._type:Object",
			 "baseType", "mode_._type"
		   });		
		addAnnotation
		  (parameterEClass, 
		   source, 
		   new String[] {
			 "name", "parameter",
			 "kind", "empty"
		   });		
		addAnnotation
		  (getParameter_JavaType(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "javaType",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getParameter_JdbcType(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "jdbcType",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getParameter_Mode(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "mode",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getParameter_NullValue(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "nullValue",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getParameter_NumericScale(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "numericScale",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getParameter_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getParameter_ResultMap(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getParameter_TypeHandler(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "typeHandler",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getParameter_TypeName(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "typeName",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (parameterMapEClass, 
		   source, 
		   new String[] {
			 "name", "parameterMap",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getParameterMap_Parameter(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "parameter",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getParameterMap_Class(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "class",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getParameterMap_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (procedureEClass, 
		   source, 
		   new String[] {
			 "name", "procedure",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getProcedure_CacheModel(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "cacheModel",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getProcedure_FetchSize(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "fetchSize",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getProcedure_RemapResults(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "remapResults",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getProcedure_ResultClass(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultClass",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getProcedure_ResultMap(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getProcedure_XmlResultName(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "xmlResultName",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (propertyEClass, 
		   source, 
		   new String[] {
			 "name", "property",
			 "kind", "empty"
		   });		
		addAnnotation
		  (getProperty_Name(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getProperty_Value(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "value",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (resultEClass, 
		   source, 
		   new String[] {
			 "name", "result",
			 "kind", "empty"
		   });		
		addAnnotation
		  (getResult_Column(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "column",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResult_ColumnIndex(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "columnIndex",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResult_JavaType(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "javaType",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResult_JdbcType(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "jdbcType",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResult_NotNullColumn(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "notNullColumn",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResult_NullValue(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "nullValue",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResult_Property(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "property",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResult_ResultMap(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResult_Select(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "select",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResult_TypeHandler(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "typeHandler",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (resultMapEClass, 
		   source, 
		   new String[] {
			 "name", "resultMap",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getResultMap_Result(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "result",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResultMap_Discriminator(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "discriminator",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResultMap_Class(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "class",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResultMap_Extends(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "extends",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResultMap_GroupBy(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "groupBy",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResultMap_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getResultMap_XmlName(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "xmlName",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (selectEClass, 
		   source, 
		   new String[] {
			 "name", "select",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getSelect_CacheModel(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "cacheModel",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getSelect_FetchSize(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "fetchSize",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getSelect_RemapResults(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "remapResults",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getSelect_ResultClass(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultClass",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getSelect_ResultMap(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getSelect_ResultSetType(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultSetType",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getSelect_XmlResultName(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "xmlResultName",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (selectKeyEClass, 
		   source, 
		   new String[] {
			 "name", "selectKey",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getSelectKey_Mixed(), 
		   source, 
		   new String[] {
			 "kind", "elementWildcard",
			 "name", ":mixed"
		   });		
		addAnnotation
		  (getSelectKey_Group(), 
		   source, 
		   new String[] {
			 "kind", "group",
			 "name", "group:1"
		   });		
		addAnnotation
		  (getSelectKey_Include(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "include",
			 "namespace", "##targetNamespace",
			 "group", "group:1"
		   });		
		addAnnotation
		  (getSelectKey_KeyProperty(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "keyProperty",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getSelectKey_ResultClass(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultClass",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getSelectKey_Type(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "type",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (sqlEClass, 
		   source, 
		   new String[] {
			 "name", "sql",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getSql_Group(), 
		   source, 
		   new String[] {
			 "kind", "group",
			 "name", "group:2"
		   });		
		addAnnotation
		  (getSql_Dynamic(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "dynamic",
			 "namespace", "##targetNamespace",
			 "group", "group:2"
		   });		
		addAnnotation
		  (getSql_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (sqlMapEClass, 
		   source, 
		   new String[] {
			 "name", "sqlMap",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getSqlMap_Group(), 
		   source, 
		   new String[] {
			 "kind", "group",
			 "name", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_TypeAlias(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "typeAlias",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_CacheModel(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cacheModel",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_ResultMap(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "resultMap",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_ParameterMap(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "parameterMap",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_Sql(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "sql",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_Statement(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "statement",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_Insert(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "insert",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_Update(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "update",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_Delete(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "delete",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_Select(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "select",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_Procedure(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "procedure",
			 "namespace", "##targetNamespace",
			 "group", "group:0"
		   });		
		addAnnotation
		  (getSqlMap_Namespace(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "namespace",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (statementEClass, 
		   source, 
		   new String[] {
			 "name", "statement",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getStatement_CacheModel(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "cacheModel",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getStatement_FetchSize(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "fetchSize",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getStatement_RemapResults(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "remapResults",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getStatement_ResultClass(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultClass",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getStatement_ResultMap(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getStatement_ResultSetType(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultSetType",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getStatement_XmlResultName(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "xmlResultName",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (subMapEClass, 
		   source, 
		   new String[] {
			 "name", "subMap",
			 "kind", "empty"
		   });		
		addAnnotation
		  (getSubMap_ResultMap(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "resultMap",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getSubMap_Value(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "value",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (typeAliasEClass, 
		   source, 
		   new String[] {
			 "name", "typeAlias",
			 "kind", "empty"
		   });		
		addAnnotation
		  (getTypeAlias_Alias(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "alias",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getTypeAlias_Type(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "type",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (typeTypeEEnum, 
		   source, 
		   new String[] {
			 "name", "type_._type"
		   });		
		addAnnotation
		  (typeTypeObjectEDataType, 
		   source, 
		   new String[] {
			 "name", "type_._type:Object",
			 "baseType", "type_._type"
		   });		
		addAnnotation
		  (updateEClass, 
		   source, 
		   new String[] {
			 "name", "update",
			 "kind", "mixed"
		   });
	}

} //Mapperv2PackageImpl
